// Since I'm too lazy, I make ChatGPT write the test data again.

`timescale 1ns/1ps

module adder_tb;

    reg [31:0] operand1;
    reg [31:0] operand2;
    reg cin;

    wire [31:0] result;
    wire cout;

    adder uut (
        .operand1(operand1),
        .operand2(operand2),
        .cin(cin),

        .result(result),
        .cout(cout)
    );

    initial begin
        operand1 = 32'b0; operand2 = 32'b0; cin = 0;

        #10 operand1 = 32'hF0000000; operand2 = 32'h10000000; cin = 0;
        #10 $display("Time = %0t : operand1 = %0d, operand2 = %0d, cin = %b, result = %0d, cout = %b", $time, operand1, operand2, cin, result, cout);

        #10 operand1 = 32'hF0000000; operand2 = 32'h10000000; cin = 1;
        #10 $display("Time = %0t : operand1 = %0d, operand2 = %0d, cin = %b, result = %0d, cout = %b", $time, operand1, operand2, cin, result, cout);

        #10 operand1 = 32'hFFFFFFFF; operand2 = 32'hFFFFFFFF; cin = 1;
        #10 $display("Time = %0t : operand1 = %0d, operand2 = %0d, cin = %b, result = %0d, cout = %b", $time, operand1, operand2, cin, result, cout);

        #10 $finish;
    end
    
endmodule